package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.StuDataCertificate;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 学生和证书关联表 数据层
 *
 * @author Weiyi.Lu
 */
public interface StuDataCertificateMapper
{
    /**
     * 通过学生ID查询学生和证书关联
     * 
     * @param stuId 学生ID
     * @return 学生和证书关联列表
     */
    public List<StuDataCertificate> selectStuDataCertificateByStuId(Long stuId);

    /**
     * 通过学生ID删除学生和证书关联
     * 
     * @param stuId 学生ID
     * @return 结果
     */
    public int deleteStuDataCertificateByStuId(Long stuId);

    /**
     * 批量删除学生和证书关联
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteStuDataCertificate(Long[] ids);

    /**
     * 通过证书ID查询证书使用数量
     * 
     * @param cerId 证书ID
     * @return 结果
     */
    public int countStuDataCertificateByCerId(Long cerId);

    /**
     * 批量新增学生证书信息
     * 
     * @param stuDataCertificateList 学生证书列表
     * @return 结果
     */
    public int batchStuDataCertificate(List<StuDataCertificate> stuDataCertificateList);

    /**
     * 删除学生和证书关联信息
     * 
     * @param stuDataCertificate 学生和证书关联信息
     * @return 结果
     */
    public int deleteStuDataCertificateInfo(StuDataCertificate stuDataCertificate);

    /**
     * 批量取消授权学生证书
     * 
     * @param cerId 证书ID
     * @param cerIds 需要删除的学生数据ID
     * @return 结果
     */
    public int deleteStuDataCertificateInfos(@Param("stuId") Long stuId, @Param("cerIds") Long[] cerIds);
}
